yToggle
Description
The yToggle component is a versatile UI element designed for toggling between two states, such as on/off or true/false. It provides an intuitive way for users to make binary choices with a simple click or tap. The yToggle is perfect for:
- adjusting settings and preferences
- any scenario where a binary choice is appropriate.
Basic Structure
The basic structure of the yToggle includes a track and a thumb. The track serves as the background over which the thumb slides, indicating the current state. Optionally, labels can be added to either side of the toggle to represent the states or provide additional information.
Track
The track can be styled individually and will serve as the background of the toggles main element.
Slide
The slide is the toggles indicator for the state.
Label
The label can display a title and will tell the user what the toggle is used for. There can be either a label on the left or on the right or both. These labels cannot be configured individually, but together at the same time.
Properties
Through its various properties the yToggle can be configured to suit your needs. The display below provides you with an overview of all the yToggle properties.
Properties can be changed directly through three methods:
- Inside the Toolbar, which is positioned in your workarea next to your component where you need it. It shows the most important properties, thus providing a fast and efficient way to configure your component in the most basic way.
- It may also occur in the Toolbar Extension, which is a seamless extension accesible as a dropdown item of the Toolbar. It extends the functionality of the Toolbar by providing advanced pickers for most used properties.
- Inside the Detail Panel, which is located in the righthand drawer. Every property of a component can be configured here.
- Generic
- Style
- Toggle
- Links
- Events
METAread more
The identifier of the component that is unique within a page.
The type of the component. For this component it is -toggle.
The custom name of the component. It serves for better identification of the component.
The custom version of the Toggle-component. This can be used to ensure that all components work well together.
The CoreTheme, which will be apllied to the Toggle. For further information on themes visit the themes page.
The subtheme subordinated to the previously specified CoreTheme, which will be apllied to the Toggle. For further information on themes visit the themes page.
The group theme is a further variation of the subtheme which is specified especially for variations of a component inside the subtheme. For further information on themes visit the Theme-Manager page.
DISPLAYread more
This property specifies the display behavior of the component. This can be be set to:
- none
- block
- flex
- inline
This property specifies the type of positioning method used for the component. This can be be set to:
- static
- relative
- absolute
- sticky
- fixed
This property can toggle the visibility of the component. The two modes are completely hidden and fully shown.
SIZEread more
The minimum value for the width of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
The minimum value for the height of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
The value for the width of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
- auto
The value for the height of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
- auto
The maximum value for the width of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
- none
The maximum value for the height of the component. This can be set in:
- px
- pt
- em
- vw
- vh
- %
- none
The flex property sets the length on flexible items. This sets the value in n-fold shares extrapolated to all other components with the flex display within the same container.
PLACEMENTread more
This property creates a space around the component, outside of the top border. This can be set in percent or pixels.
This property creates a space around the component, outside of the right border. This can be set in percent or pixels.
This property creates a space around the component, outside of the bottom border. This can be set in percent or pixels.
This property creates a space around the component, outside of the left border. This can be set in percent or pixels.
This property creates a space within the component, inside of the top border. This can be set in percent or pixels.
This property creates a space within the component, inside of the right border. This can be set in percent or pixels.
This property creates a space within the component, inside of the bottom border. This can be set in percent or pixels.
This property creates a space within the component, inside of the top border. This can be set in percent or pixels.
BACKGROUNDread more
The color of the background. This can be set as a color from a palette or a custom hex color.
BORDERread more
The color of the top border. This can be set as a color from a palette or a custom hex color.
The style of the top border. This can be be set to:
- solid
- dotted
- dashed
- none
The width of the top border. This can be set in percent or pixels.
The color of the right border. This can be set as a color from a palette or a custom hex color.
The style of the right border. This can be be set to:
- solid
- dotted
- dashed
- none
The width of the right border. This can be set in percent or pixels.
The color of the bottom border. This can be set as a color from a palette or a custom hex color.
The style of the bottom border. This can be be set to:
- solid
- dotted
- dashed
- none
The width of the bottom border. This can be set in percent or pixels.
The color of the left border. This can be set as a color from a palette or a custom hex color.
The style of the left border. This can be be set to:
- solid
- dotted
- dashed
- none
The width of the left border. This can be set in percent or pixels.
The radius of the corners of all the borders. This can be set in percent or pixels.
SHADOWread more
The shadow of the component. This is set by the 4 sub-properties x, y, blur and spread of the shadow-property, which can be further read about in the shadow-property section.
OPACITYread more
The opacity of all colored parts of the component. This value is set in percent.
LABELread more
The color of the label text. This can be set as a color from a palette or a custom hex color.
The font-family of the label text. This can be picked from a large list of provided fonts.
The font-weight of the label text. This can be set in a custom number, as example:
- 400 = normal(regular)
- 500 = medium
- 600 = semi bold
- 700 = bold
The font-style of the label text. This can be set to normal, italic or oblique.
The text-transformation of the label text. This can be set to:
- capitalize
- uppercase
- lowercase
- none
- full-width
The text-decoration of the label text. This can be set to:
- strikethrough
- underline
The font-size of the label text. This can be set in: -cm
- mm
- in
- px
- em
- ex
- ch
- rem
The font-align of the label text. This property moves the label text to the desired position, it can be set to left, center or right.
The actual written text in the label. There is no limit to the number of characters.
The actual written text in the left label. There is no limit to the number of characters.
TRACKread more
The color of the turned off track. This can be set as a color from a palette or a custom hex color.
The color of the turned on track. This can be set as a color from a palette or a custom hex color.
THUMBread more
The color of the turned off thumb. This can be set as a color from a palette or a custom hex color.
The color of the turned on thumb. This can be set as a color from a palette or a custom hex color.
The preset value of the thumb (e.g. 'true' or 'false').
STATEread more
This property can disable or enable the disabled-state of the Toggle-component.
This property can disable or enable the error-state of the Toggle-component.
TOOLTIPread more
The text of the tooltip, which is displayed when hovering over the Toggle-component. If you do not insert anything, no tooltip appears.
ERRORread more
The message to be displayed, if an error occurs.
VALUEread more
This property defines a link to another component by specifying the componentId or componentName, Page, Component, ID, Event. The data from the link will represent true or false.
Usage
In this section you'll find a collection of application scenarios and examples that illustrate how to leverage the yToggle in ways that deviate from its standard behavior, as defined by yBase. This section aims to inspire and guide you through various possibilities, helping you to implement more complex or unique functionalities tailored to your specific needs. General properties that are universally applicable can be found in the yBase usage section.
Variations
- Elevated
- Flat
- Outlined
- Rounded
- Plain
Thumb Styling
- Traffic Light
- Neutral
- Black and Yellow
Label Positioning
- Left
- Right
- Both
Setting the yToggle Value
The yToggle component's value can be dynamically assigned either programmatically via JavaScript or by establishing a link to another component's value—known as a SourceLink. This flexibility allows the yToggle to respond to user interactions or application states in real time.
Via JavaScript
To set the yToggle's value using JavaScript, access the value property within the "style" > "thumb" category. This method is ideal for changing the yToggle's state based on user interactions or other events within your application.
Here’s how you can set the value in JavaScript:
// function onToggle_1_EvtClicked (apiObject, component, eventData) {
const desiredValue = true; // true or false
component.set("style", "thumb", "value", desiredValue);
// }
Simply replace desiredValue with the appropriate boolean or comparable value that corresponds to the yToggle's position.
Via SourceLink Picker
To link the yToggle’s value with another component, use the SourceLink Picker. This feature binds the yToggle’s state to another component's value, allowing for integrated component behavior.
Navigate to the SourceLink Picker section in the property settings and select the component you wish to link with. Once configured, the style > thumb > value of the yToggle will reflect the value provided by the linked component, ensuring synchronized states across related UI elements.
This dual approach to value assignment provides a robust solution for managing the yToggle’s state and integrating it seamlessly within your application’s logic flow.
Alternatively use the SourceLink Picker in the Toolbar as a Toolbar Extension.
Actions based on the State
A custom JavaScript function can be attached to the yToggle to perform an action based on its state. Here’s an example that logs the state to the console:
// function onButton_1_EvtClicked (apiObject, component, eventData) {
const toggleState = component.get("style", "thumb", "value");
console.log(`The toggle is now ${toggleState ? "ON" : "OFF"}.`);
// }
Special Picker
SourceLink Picker
There is a special picker for the yToggle in the Toolbar as a Toolbar Extension which will be used to link the component to a logic of 2 or more other components. This is a kind of SourceLink Picker, similar to other SourceLink Pickers to be found in other components.